package cn.edu.sjtu.se.dslab.component.aadl;

import java.util.Set;

public class AAXLElement {
	private String name;
	private String type;
	private Set<AAXLConnection> connections;
	private Set<AAXLSubComponent> components;
	private Set<AAXLFeature> features;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Set<AAXLConnection> getConnections() {
		return connections;
	}

	public void setConnections(Set<AAXLConnection> connections) {
		this.connections = connections;
	}

	public Set<AAXLSubComponent> getComponents() {
		return components;
	}

	public void setComponents(Set<AAXLSubComponent> components) {
		this.components = components;
	}

	public Set<AAXLFeature> getFeatures() {
		return features;
	}

	public void setFeatures(Set<AAXLFeature> features) {
		this.features = features;
	}

	public static class AAXLConnection {
		String src;
		String dst;
		String dstContext;
		String srcContext;
		String type;
		String name;
		
		
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getSrc() {
			return src;
		}
		public void setSrc(String src) {
			this.src = src;
		}
		public String getDst() {
			return dst;
		}
		public void setDst(String dst) {
			this.dst = dst;
		}

		public String getDstContext() {
			return dstContext;
		}
		public void setDstContext(String dstContext) {
			this.dstContext = dstContext;
		}
		public String getSrcContext() {
			return srcContext;
		}
		public void setSrcContext(String srcContext) {
			this.srcContext = srcContext;
		}
		public String getType() {
			return type;
		}
		public void setType(String type) {
			this.type = type;
		}
		
	};

	public static class AAXLSubComponent {
		String name;
		String classifier;
		String type;
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getClassifier() {
			return classifier;
		}
		public void setClassifier(String classifier) {
			this.classifier = classifier;
		}
		
		public String getType() {
			return type;
		}

		public void setType(String type) {
			this.type = type;
		}
		
	};

	public static class AAXLFeature {
		String name;
		String type;
		String direction;
		public AAXLFeature(String name, String type, String direction) {
			super();
			this.name = name;
			this.type = type;
			this.direction = direction;
		}
		
		public AAXLFeature(String type, String direction) {
			super();
			this.type = type;
			this.direction = direction;
		}
		
		public AAXLFeature(String type) {
			super();
			this.type = type;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getType() {
			return type;
		}

		public void setType(String type) {
			this.type = type;
		}

		public String getDirection() {
			return direction;
		}

		public void setDirection(String direction) {
			this.direction = direction;
		}
		
	};
}
